home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fritz: All Fritz
/
All Fritz.zip
/
All Fritz
/
FILES
/
PROGNG_C
/
BEGINC.LZH
/
PRINTAB.C
< prev
next >
Wrap
C/C++ Source or Header
|
1985-05-17
|
2KB
|
86 lines
/* Print an ASCII file and change tab characters to
spaces.
By Paul Sumberg 1985
*/
#include "stdio.h"
main(argc,argv)
/* * * arguments are passed to main when program is invoked.
The proper format is "PROGRAM filename.ext" * * */
int argc;
char **argv;
{
/* * * initialize variables * * */
FILE *read_file, *out_file, *fopen ();
char in_name[15];
int c;
char next_char;
int counter = 0;
int lines = 0;
/* * * test for proper number of arguments * * */
if(argc != 2)
{
printf("\nUsage: Print filename.ext\n");
exit(1);
}
/* * * open input file that was given to main as argument * * */
read_file = fopen (argv[1], "r");
/* RATS! cant open it. */
if ( read_file == NULL )
printf("couldn't open %s for reading.\n",argv[1]);
else
{
/* * open "printer" file for output.. * */
out_file = fopen ("prn:" , "w");
if (out_file == NULL )
Printf("check printer.\n");
else
{
/* * give printer some linefeeds. * */
fprintf(out_file,"\n\n\n");
/* read each character and send to printer,replacing TABs with SPACES. */
while ( (c = getc(read_file)) != EOF )
{
next_char = c;
/* * check page length and if near end, give FF * */
if (next_char == '\r')
{
++lines;
next_char - '\0';
}
if(lines >= 60)
{ putc('\f',out_file);
lines = 0;
/* give new page some linefeeds */
fprintf("\n\n\n");
}
/* * Is this sucker the tab character?? * */
if (next_char == '\t')
{
for(counter = 0; counter != 3; ++counter)
putc(' ', out_file);
continue;
}
/* * * Stuff that thing out the printer port. * * */
putc (c, out_file);
}
printf("file has been PRINTED!\n");
}
}
fclose(out_file); /* * * Put files to bed
fclose(read_file); * * * Night Night. * * */
}